function mapping(objectRef, processRef) {
    objectRef = objectRef || '';
    processRef = processRef || '';
    var obj = {}, val, mapTo, process, emptyToZero;
    $.each($('input[data-mapping' + objectRef + '], select[data-mapping' + objectRef + '], textarea[data-mapping' + objectRef + ']'), function () {
        val = $(this).val(),
        mapTo = $(this).attr('data-mapping' + objectRef).split(' '),
        process = $(this).attr('data-process' + processRef),
        emptyToZero = $(this).attr('data-emptyToZero'),
        i = 0,
        l = mapTo.length;
        if (process !== undefined) {
            val = executeFunctionByName(process, window, val);
        }
        val = val.split(',');
        for (; i < l; i += 1) {
            if (val[i] === '') {
                if (emptyToZero !== undefined) {
                    val[i] = 0;
                } else {
                    val[i] = null;
                }
            }
            obj[mapTo[i]] = val[i];
        }
    });
    return obj;
}